//高阶组件。用来做路由拦截的

//先引入store，
import store from "../store"

//引入路由
import { Navigate } from 'react-router-dom';
//创建一个重定向的组件,将页面重新定位到登录页面
const Redirect = ()=><Navigate to="/login" ></Navigate>

//将组建暴露出去，
//函数调用时需要传参 ，
//参数为组件的名字
export default (props:any) =>{
    //获取token ，
    const token = store.getState().userStore.user.token//js 的获取语法
    // console.log('对跳转的页面进行处理')
    // console.log(token)
    //通过判断有没有 token 来判断用户是否登录
    if(token){//用户已经登陆了
        // console.log('登录了')
        return props.children//这里将当前要渲染的组件返回
    }else{//用户还没有登录
        // console.log('没登录')
        return <Redirect></Redirect> //把页面重定向到登陆页面，让用户登陆后再访问页面
    }

}